Download Standard XML or JSON Files
Standard XML and JSON files are available for any submitted or dispatched form. These files include metadata that can help with your organization’s audit and compliance requirements. For example, the standard XML and JSON files include information about the last user to answer or edit a question. This topic describes how to download the files and the metadata that they include.
You can also:
Set up a custom visual document to include the required metadata.
Use the TrueContextREST API to download the file from a form submission.
Available on all tiers:
Contents
Steps to download an XML or JSON file
Some types of output documents might not include all metadata. If you want to get more information, you can download a standard JSON or XML file. These are available from the View the Details of a Form Submission page.
You can download an XML or JSON file for any dispatched, submitted, or transferred (TrueContext Teamwork TrueContext Teamwork is an Enterprise tier feature that enables mobile users to transfer incomplete forms for other users to complete as part of a multi-user workflow. This can be useful for jobs that require someone else's expertise or that span multiple shifts.-enabled) form. You can then open the file or manually upload it to your third-party system.
-
Navigate to the submissions page of your form:
Data & Analytics > Submissions (by Form) > FormName > Continue
or
Forms & Integrations > FormName > Go to submissions
Result: The Web Portal displays the Form Submissions page for the selected form. By default, The Form Submissions page displays form submissions from the last 30 days.
Tip:You can change your Search Options to find specific submitted or dispatched forms. For example, filter on a date range to find all submitted forms from 2022-01-01 through 2022-12-31.
-
Select the Reference # of the dispatched, submitted, or transferred form.
Result: The Web Portal displays the details page.
-
Hover over the arrow next to the reference number to show the list of actions.
-
Select either Download Standard XML or Download Standard JSON.
Result: The XML or JSON file of the selected form downloads.
Info:If the XML or JSON document is linked to a Multi-Language Form, the system prompts you to select a language for the document. The document shows translated form content based on the form’s translation file. The key names and question Unique IDs don’t change. For your integrations, map to the question Unique ID A Unique ID refers to the specific identifier of a question, form page, form section, or Data Destination. Unique IDs are used as reference points when pulling data for conditional logic, Analytics projects, Data Destinations, and Documents., which doesn’t change, rather than the question text.
Tip:You can also download an XML or JSON file with the TrueContext REST API.
Description of metadata in a standard JSON or XML file
The following table describes the metadata that you can find in the standard XML and JSON downloads.
Info:Standard JSON and XML files label the form submission status as a “state”. The topic Form Submission Status describes in detail the different status types a form submission can have.
Type of metadata | JSON example | XML example |
---|---|---|
Submission details |
Form status: "state": "Complete", Submission status: "dataState": "Processed", "orphanedDispatch": false, If the field user submits a dispatched form after the dispatch was deleted in the Web Portal, then Submitted date and time on the user’s device: "deviceSubmitDate": { "provided": { "time": "2023-03-09T10:31:58-05:00", "zone": "America/Toronto" }, "shifted": "2023-03-09T10:31:58-05:00" }, Received date and time on the TrueContext server: "serverReceiveDate": "2023-03-09T10:32:41-05:00", |
Form status: <state>Complete</state> Submission status: <dataState>Processed</dataState> Dispatch status on the Web Portal: <orphanedDispatch>false</orphanedDispatch> If the field user submits a dispatched form after the dispatch was deleted in the Web Portal, then Submitted date and time on the user’s device: <deviceSubmitDate> <provided> <time>2023-03-09T10:31:58-05:00</time> <zone>America/Toronto</zone> </provided> <shifted>2023-03-09T10:31:58-05:00</shifted> </deviceSubmitDate> Received date and time on the TrueContext server: <serverReceiveDate>2023-03-09T10:32:41-05:00</serverReceiveDate> |
Dispatch details |
Dispatch date and time: "dispatchDate": "2023-08-10T10:52:10-04:00", Dispatch details: "dispatchMetadata": { "notes": "Tell building security about your arrival before you start work.", "priority": "Medium", "dueDate": { "provided": { "time": "2023-08-18T11:30:00-04:00", "zone": "America/New_York" }, "shifted": "2023-08-18T11:30:00-04:00" }, "coordinates": { "latitude": 45.3472904, "longitude": -75.9095115, "altitude": null } }, |
Dispatch date and time: <dispatchDate>2023-08-10T10:52:10-04:00</dispatchDate> Dispatch details: <dispatchMetadata> <notes>Tell building security about your arrival before you start work.</notes> <priority>Medium</priority> <dueDate> <provided> <time>2023-08-18T11:30:00-04:00</time> <zone>America/New_York</zone> </provided> <shifted>2023-08-18T11:30:00-04:00</shifted> </dueDate> <coordinates> <latitude>45.3472904</latitude> <longitude>-75.9095115</longitude> </coordinates> </dispatchMetadata> |
Form details |
Form and FormSpace FormSpaces are where forms are stored and organized in the TrueContext Web Portal. A TrueContext Team may have multiple FormSpaces, depending on their needs. Admins can set FormSpace permissions to control which users have access to the forms in that FormSpace. identifiers and versions: "form": { "identifier": "1423164009", "versionIdentifier": "1527638015", "name": "HVAC Work Order", "version": 48, "formSpaceIdentifier": "195823004", "formSpaceName": "Existing Customers" }, |
Form and FormSpace identifiers and versions: <form identifier="1423164009"> <versionIdentifier>1527638015</versionIdentifier> <name>HVAC Work Order</name> <version>48</version> <formSpaceIdentifier>195823004</formSpaceIdentifier> <formSpaceName>Existing Customers</formSpaceName> </form> |
Submitter details |
Submitter identifiers: "user": { "identifier": "1317016005", "username": "j.smith", "displayName": "Jenny Smith" }, |
Submitter identifiers: <user identifier="1317016005"> <username>j.smith</username> <displayName>Jenny Smith</displayName> </user> |
Dispatcher details |
Dispatcher identifiers: "dispatcher": { "identifier": "137549047", "username": "l.yung", "displayName": "Lynn Yung" }, |
Dispatcher identifiers: <dispatcher identifier="137549047"> <username>l.yung</username> <displayName>Lynn Yung</displayName> </dispatcher> |
Submitter’s geo location |
Geo location details include:
"geoStamp": { "success": true, "captureTimestamp": { "provided": { "time": "2023-06-14T12:46:53-04:00", "zone": "America/Toronto" }, "shifted": "2023-06-14T12:46:53-04:00" }, "errorMessage": null, "source": "GPS", "coordinates": { "latitude": 45.342761120048436, "longitude": -75.915798518297, "altitude": 0.0 }, "accuracy": 4025.286, "address": "2500 Solandt Rd, Kanata, ON K2K 3G5, Canada", "addressDetails": { "source": "Google", "components": [ { "shortName": "2500", "longName": "2500", "types": [ "street_number" ] }, { "shortName": "Solandt Rd", "longName": "Solandt Road", "types": [ "route" ] }, { "shortName": "Kanata", "longName": "Kanata", "types": [ "political", "sublocality", "sublocality_level_1" ] }, { "shortName": "Ottawa", "longName": "Ottawa", "types": [ "locality", "political" ] }, { "shortName": "Ottawa", "longName": "Ottawa", "types": [ "administrative_area_level_3", "political" ] }, { "shortName": "Ottawa", "longName": "Ottawa", "types": [ "administrative_area_level_2", "political" ] }, { "shortName": "ON", "longName": "Ontario", "types": [ "administrative_area_level_1", "political" ] }, { "shortName": "CA", "longName": "Canada", "types": [ "country", "political" ] }, { "shortName": "K2K 3G5", "longName": "K2K 3G5", "types": [ "postal_code" ] } ] } }, |
Geo location details include:
<geoStamp> <success>true</success> <captureTimestamp> <provided> <time>2023-06-14T12:46:53-04:00</time> <zone>America/Toronto</zone> </provided> <shifted>2023-06-14T12:46:53-04:00</shifted> </captureTimestamp> <source>GPS</source> <coordinates> <latitude>45.342761120048436</latitude> <longitude>-75.915798518297</longitude> <altitude>0.0</altitude> </coordinates> <accuracy>4025.286</accuracy> <address>2500 Solandt Rd, Kanata, ON K2K 3G5, Canada</address> <addressDetails> <source>Google</source> <components> <component> <shortName>2500</shortName> <longName>2500</longName> <types> <type>street_number</type> </types> </component> <component> <shortName>Solandt Rd</shortName> <longName>Solandt Road</longName> <types> <type>route</type> </types> </component> <component> <shortName>Kanata</shortName> <longName>Kanata</longName> <types> <type>political</type> <type>sublocality</type> <type>sublocality_level_1</type> </types> </component> <component> <shortName>Ottawa</shortName> <longName>Ottawa</longName> <types> <type>locality</type> <type>political</type> </types> </component> <component> <shortName>Ottawa</shortName> <longName>Ottawa</longName> <types> <type>administrative_area_level_3</type> <type>political</type> </types> </component> <component> <shortName>Ottawa</shortName> <longName>Ottawa</longName> <types> <type>administrative_area_level_2</type> <type>political</type> </types> </component> <component> <shortName>ON</shortName> <longName>Ontario</longName> <types> <type>administrative_area_level_1</type> <type>political</type> </types> </component> <component> <shortName>CA</shortName> <longName>Canada</longName> <types> <type>country</type> <type>political</type> </types> </component> <component> <shortName>K2K 3G5</shortName> <longName>K2K 3G5</longName> <types> <type>postal_code</type> </types> </component> </components> </addressDetails> </geoStamp> |
Device details |
OS type and TrueContext Mobile App version: "device": { "os": "iOS", "osVersion": "15.5", "mobileAppVersion": "16.6.0.3480" }, |
OS type and TrueContext Mobile App version: <device> <os>iOS</os> <osVersion>15.5</osVersion> <mobileAppVersion>16.6.0.3480</mobileAppVersion> </device> |
Last time an answer was modified |
Date and time last modified: "lastModified": { "provided": { "time": "2023-08-10T11:05:46-04:00", "zone": "America/New_York" }, "shifted": "2023-08-10T11:05:46-04:00" }, User details: "modifiedBy": { "identifier": "1317016008", "username": "p.schmidt", "displayName": "Paul Schmidt" }, If a dispatcher prefills any answers, their user details show in the |
Date and time last modified: <lastModified> <provided> <time>2023-08-10T11:05:46-04:00</time> <zone>America/New_York</zone> </provided> <shifted>2023-08-10T11:05:46-04:00</shifted> </lastModified> User details: <modifiedBy identifier="1317016008"> <username>p.schmidt</username> <displayName>Paul Schmidt</displayName> </modifiedBy> If a dispatcher prefills any answers, their user details show in the |
Custom PDF, Word, and HTML Document Layouts (when you use a Handlebars or FreeMarker template)
Explanation of timestamp values
The standard downloads display two timestamps: provided
and shifted
.
For submitted and transferred (TrueContext Teamwork-enabled) forms:
-
provided
—Timestamp in the mobile user’s time zone (from their device settings). -
shifted
—In standard downloads, theshifted
timestamp is the same as theprovided
timestamp.
For dispatched forms, the mobile user’s time zone isn’t available to the server. In these cases, we fall back to:
-
The Web Portal user’s time zone—This is the user who downloads the standard JSON or XML file.
-
UTC—for system-generated dispatches, such as a Dispatch Data Destination A Data Destination specifies where to send data from a submitted form. You can use Data Destinations to automate data sharing and storage, routing data to a specific service (such as email or cloud storage) in several different formats. or API dispatch.